<?php
/**
 * 用户中心登录和操作
 * @author Ice <ice@iceinto.com>
 */
class LoginAction extends BaseAction
{
	function _initialize()
	{
		if (C('USER_AUTH_ON') && !in_array(MODULE_NAME, explode(',', C('NOT_AUTH_MODULE')))) {
			import('@.ORG.Util.RBAC');
			if (!RBAC::AccessDecision()) {
				//检查认证识别号
				if (!$_SESSION [C('USER_AUTH_KEY')]) {
					//跳转到认证网关
					redirect(PHP_FILE . C('USER_AUTH_GATEWAY'));
				}
				// 没有权限 抛出错误
				if (C('RBAC_ERROR_PAGE')) {
					// 定义权限错误页面
					redirect(C('RBAC_ERROR_PAGE'));
				} else {
					if (C('GUEST_AUTH_ON')) {
						$this->assign('jumpUrl', PHP_FILE . C('USER_AUTH_GATEWAY'));
					}
					// 提示错误信息
					$this->error(L('_VALID_ACCESS_'));
				}
			}
		}
		$this->assign('userInfo', getLoginUserInfo());
		$this->leftNav();
		//设置导航

	}

	/**
	 * 左侧导航地址获取根据权限获取
	 * @author Ice <iceinto@mallog.com.cn>
	 */
	protected function leftNav()
	{
		//获取用户标识
		$uid = $_SESSION[C('USER_AUTH_KEY')];
		$roles_id = array(); //记录合并后的用户权限标识
		$roles_name = array();
		$navs = array(); //合并后的导航数组
		$RoleUserModel = D('RoleUser');
		$AccessModel = D('Access');
		$roles = $RoleUserModel->getUserRloe($uid);
		//合并用户权限名称 & 合并用户权限标识
		foreach ($roles as $role) {
			$roles_id[] = $role['role_id'];
			$roles_name[] = $role['role_name'];
		}
		$navs = $AccessModel->getAccessUrl(implode(',', $roles_id));
		//获取导航信息
		$this->assign('rolesName', implode($roles_name));
		$this->assign('modelName', MODULE_NAME);
		$this->assign('leftNavs', $navs);
	}
}

?>